package br.com.projeto.mbean;

import java.io.Serializable;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import org.hibernate.Session;

import br.com.projeto.dao.UsuarioDao;
import br.com.projeto.entidade.Usuario;
import br.com.projeto.util.HibernateUtil;
import br.com.projeto.util.MensagemUtil;

@ManagedBean
@SessionScoped
public class LoginMBean implements Serializable {

	private static final long serialVersionUID = -9211272453466679312L;
	private MensagemUtil mensagemUtil;
	private Usuario usuario = new Usuario();
	
	public LoginMBean() {
		this.mensagemUtil = new MensagemUtil("br.com.projeto.mensagem.formulario.Usuario");
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	
	public String logar() {
		FacesMessage mensagem = null;
		String saida = null;
		
		Session session = HibernateUtil.currentSession();
		UsuarioDao usuarioDao = new UsuarioDao(session);
		if (usuarioDao.validaLogin(usuario.getLogin(), usuario.getSenha())) {
			saida = "index";
		} else {
			mensagem = new FacesMessage(this.mensagemUtil.getMensagem("erro.autenticacao"));
			FacesContext.getCurrentInstance().addMessage(null, mensagem);
		}
		return saida;
	}

}
